package iterator;


/**
 * 能在不暴露集合底层表现形式 （列表、 栈和树等） 的情况下遍历集合中所有的元素。
 *
 * 迭代器模式的主要思想是将集合的遍历行为抽取为单独的迭代器对象。
 */
public class Test {
    public static void main(String[] args) {
        StudentGroup group = new StudentGroup();
        group.addStudent("A");
        group.addStudent("B");
        group.addStudent("C");

        Iterator studentAscendIterator = group.getAscendIterator();
        while(studentAscendIterator.hasNext()){
            System.out.println(studentAscendIterator.getNext());
        }

        System.out.println("-------------------------------------------------");

        Iterator studentDescendIterator = group.getDescendIterator();
        while(studentDescendIterator.hasNext()){
            System.out.println(studentDescendIterator.getNext());
        }

    }
}
